package star;

import java.util.Scanner;

/**
 * 原理：ip地址的每段可以看成是一个0-255的整数，把每段拆分成一个二进制形式组合起来，然后把这个二进制数转变成
 * 一个长整数。
 * 举例：一个ip地址为10.0.3.193
 * 每段数字             相对应的二进制数
 * 10                   00001010
 * 0                    00000000
 * 3                    00000011
 * 193                  11000001
 *
 * 组合起来即为：00001010 00000000 00000011 11000001,转换为10进制数就是：167773121，即该IP地址转换后的数字就是它了。
 *
 * 数据范围：保证输入的是合法的 IP 序列
 *
 */
public class hj33 {


    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextLine()){
            String s = in.nextLine();
            String sl = in.nextLine();
            long l = Long.parseLong(sl);
            String[] split = s.split("\\.");
            //10进制ip转2进制后再组合求得的10进制
            System.out.println(Long.parseLong(split[0])<<24 | Long.parseLong(split[1])<<16 | Long.parseLong(split[2])<<8 | Long.parseLong(split[3]));

            //同上，反过来，10进制转ip
            StringBuilder stringBuilder = new StringBuilder();
            stringBuilder.append(l>>24 & 255).append(".").append(l>>16 & 255).append(".").append(l>>8 & 255).append(".").append(l&255);
            System.out.println(stringBuilder);
        }

    }

}
